<?php
namespace Common\uploadStorage;
class Local{
    protected $error;
    /**
     * 上传图片文件
     * @return array|bool
     */
    public function upload($up_file,$up_config = [])
    {
        $config = array(
            'maxSize' => $up_config['maxSize'] ? $up_config['maxSize'] : 2 * 1024 * 1024 , // 2M 上传的文件大小限制 (0-不做限制)
            'exts' => $up_config['exts'] ? $up_config['exts'] : array( 'jpg' , 'gif' , 'png' , 'jpeg' ) , // 允许上传的文件后缀
            'rootPath' => $up_config['rootPath'] ? $up_config['rootPath'] : 'Data/uploads/',
            'saveName' => $up_config['saveName'] ? $up_config['saveName'] : '',
            'subName' => $up_config['subName'] ? $up_config['subName'] : array('date','Y-m-d')
        );
        if( empty( $up_file ) ) {
            $this->error = '没有上传文件！';
            return false;
        }
        // 实例化上传类
        $upload = new \Think\Upload( $config , 'Local');
        // 上传文件
        $info = $upload->uploadOne( $up_file);
        // 上传错误提示错误信息
        if( !$info ){
            $this->error = $upload->getError();
            return false;
        }
        return true;
    }

    /**
     * 删除文件
     */
    public function deleteFile($fileInfo){
        // 文件所在目录
        $filePath = SITE_PATH . $fileInfo['path'].$fileInfo['url'];
        if(!file_exists($filePath)) return true;
        return unlink($filePath);
    }

    /**
     * 获取错误信息
     * @return mixed
     */
    public function getError()
    {
        return $this->error;
    }
}